home *** CD-ROM | disk | FTP | other *** search
/ PC Home 138 / PC Home issue 138.iso / Software / Essentials / Netscape / nim.xpi / bin / components / nsJSAimChatRendezvous.js < prev    next >
Encoding:
JavaScript  |  2002-06-03  |  4.7 KB  |  142 lines

  1. /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
  2. /*
  3.  * Probably need some copyright here! 
  4.  */
  5.  
  6. function nsJSAimChatRendezvous() {
  7.     // dump("creating new nsJSAimChatRendezvous\n");
  8. }
  9.  
  10. nsJSAimChatRendezvous.prototype = {
  11.     // we just implement one function!
  12.     OnBuddyIconProposalReceived : function (screenname, proposal)
  13.     {
  14.  
  15.  
  16.      inviteArgsObj = {
  17.          inviteProposalScreenName: screenname, 
  18.          inviteProposalObj: proposal,
  19.          invitedScreenNames: '',
  20.          inviteToExistingWindow: false,
  21.          inviteMode: 'incomingchat'
  22.      }
  23.     
  24.      var windowManager = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService();
  25.  
  26.      var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
  27.  
  28.      var topWindow = windowManagerInterface.getMostRecentWindow(null);
  29.  
  30.      //topWindow.focus();
  31.      topWindow.openDialog('chrome://aim/content/IMBuddyIconKnockKnock.xul','','modal=yes,titlebar,chrome,dialog=yes, centerscreen',inviteArgsObj);
  32.     
  33.     },
  34.  
  35.     OnProposalReceived : function (screenname, proposal)
  36.     {
  37.  
  38.      dump ("got a proposal from " + screenname + "\n");
  39.  
  40.      inviteArgsObj = {
  41.          inviteProposalScreenName: screenname, 
  42.          inviteProposalObj: proposal,
  43.          invitedScreenNames: '',
  44.          inviteToExistingWindow: false,
  45.          inviteMode: 'incomingchat'
  46.      }
  47.     
  48.      var windowManager = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService();
  49.  
  50.      var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
  51.  
  52.      var topWindow = windowManagerInterface.getMostRecentWindow(null);
  53.  
  54.      //topWindow.focus();
  55.      topWindow.openDialog('chrome://aim/content/chatInviteBuddy.xul','_blank','chrome,all,dialog=no',inviteArgsObj); 
  56.     
  57.     },
  58.  
  59.     ChatInvite : function (roomname, language, screennamelist, msg)
  60.     {
  61.     // XXX hardcoding en for now, we have no way of
  62.     // determining what this might be from the URL 
  63.         inviteArgsObj = {
  64.       invitedScreenNames: screennamelist, 
  65.          inviteToExistingRoom: roomname,
  66.          inviteLanguage: "en",
  67.             inviteToExistingWindow: false,
  68.          inviteMode: 'outgoingchat',
  69.             invitationmsg: msg
  70.   }
  71.     
  72.         var windowManager = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService();
  73.  
  74.         var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
  75.  
  76.         var topWindow = windowManagerInterface.getMostRecentWindow(null);
  77.         topWindow.openDialog('chrome://aim/content/chatInviteBuddy.xul','_blank','chrome,all,dialog=no',inviteArgsObj); 
  78.     },
  79.     
  80.     GoChat : function (roomname, exchange, instance)
  81.     {
  82.                 var language = "en";
  83.         chatContentArgsObj = {
  84.                  chatRoomName : roomname,
  85.                  chatLanguage : language,
  86.             incomingChat : false,
  87.             instance : instance,
  88.             exchange : exchange,
  89.             fromurl : true
  90.              }
  91.     
  92.         var windowManager = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService();
  93.  
  94.         var    windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
  95.  
  96.         var topWindow = windowManagerInterface.getMostRecentWindow(null);
  97.  
  98.         topWindow.openDialog('chrome://aim/content/chatContent.xul','','chrome,all,dialog=no',chatContentArgsObj); 
  99.     }
  100.  
  101. }
  102.  
  103. var module = {
  104.     registerSelf: function (compMgr, fileSpec, location, type) {
  105.         compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentManagerObsolete);
  106.         compMgr.registerComponentWithType(this.myCID,
  107.             "nsJSAimChatRendezvous",
  108.                 "@netscape.com/js/aim/chatrendezvous;1",
  109.                 fileSpec, location, true, true, type);
  110.     },
  111.  
  112.     getClassObject: function (compMgr, cid, iid) {
  113.         if (!cid.equals(this.myCID))
  114.             throw Components.results.NS_ERROR_NO_INTERFACE;
  115.         
  116.         if (!iid.equals(Components.interfaces.nsIFactory))
  117.             throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
  118.  
  119.         return this.myFactory;
  120.     },
  121.  
  122.     canUnload: function () {
  123.     },
  124.     
  125.     myCID: Components.ID("{38E07345-2DC7-11d4-BA1A-0010833594E9}"),
  126.     
  127.     myFactory: {
  128.         createInstance: function (outer, iid) {
  129.             if (outer != null)
  130.                 throw Components.results.NS_ERROR_NO_AGGREGATION;
  131.             
  132.             if (!(iid.equals(Components.interfaces.nsIAimChatRendezvousCallback) || iid.equals(Components.interfaces.nsISupports))) {
  133.                 throw Components.results.NS_ERROR_INVALID_ARG;
  134.             }
  135.  
  136.             return new nsJSAimChatRendezvous();
  137.         }
  138.     }
  139. };
  140.  
  141. function NSGetModule(compMgr, fileSpec) { return module; }
  142.